1. Field of the Invention
This invention relates to a method for managing dynamic modification of class object and instance object definitions in an object oriented language.
2. Description of the Prior Art
In an object oriented language, programs are written in units called objects. The objects are autonomous, units which describe data and procedures in an integrated manner. The program as a whole performs tasks by message passing among the objects. A procedure which is activated by receipt of a message is called a method. An object can be requested to perform a task only through a method and data within the object cannot be directly accessed.
An arbitrary number of locations, called slots, can be defined in an object for storing data. Each slot is given a name. A slot can store integer, real number, string and other arbitrary data and can also store another object. One type of object is the class object and another is the instance object. Instance objects are created from a class object.
A sub class object inherits properties from a super class object. In class inheritance, both the slots and methods are inherited. Because of this, the relationship between super and sub objects is such that the slots and methods usable by a super object are also usable in its sub object.
The inheritance relationships between classes are referred to as `a kind of` or is.sub.-- a relations and by this relationship class objects compose a hierarchical structure.
Like ordinary compiler languages, however, object oriented languages of this type generally do not allow program (class object and instance object) definitions to be modified at the run time stage and, therefore, have drawbacks in terms of program development and maintenance. Although some object oriented languages do allow class modifications, they do not provide a basic solution to the problem.
This invention was accomplished in light of the foregoing problems of the prior art and aims at providing a dynamic object management method in an object oriented language, which enables program modifications to be made easily and to be made at the run time stage.